是什麼構成一篇漢語文章的呢?從小到大列舉,最小單位是「字」(通常狀況不會再去拆部首),「字」組成「詞」,「詞」再組成「句」,「句」組成「段落」,「段落」組成「文章」。
計算機要處理漢語時,第一步通常就是「分詞」,例如說 嫉妒使我面目全非 ,可以拆解成「嫉妒」、「使」、「我」、「面目」、「全」、「非」。也許有人會把「面目全非」直接分一個詞,也不能說錯,自然語言本就沒必要只能唯一拆解。
法咒(程式語言)跟自然語言仍是有些共通之處,同樣能拆解成不同層級。
想像編譯器讀取音界咒文件時,它看見的是一個又一個的字元,而分詞器做的事情就很接近上述的漢語分詞器。但法咒(程式語言)不能有岐義,因此需要藉助特殊符號,如空白鍵或音界號來確定詞與詞之間的邊界。
來看個範例:
元.人數=(11+3)*4
人數+1
第一行 元.人數=(1+3)*4 依序是分解為
元,關鍵字「元」.,音界號人數,這是個變數=,等號(,左括號11,數字+,運算子「加」3,數字),右括號*,運算子「乘」4,數字\n,換行而第二行 人數+1 依序是
人數,這是個變數+,運算子「加」1,數字\n,換行下表羅列了零・一版音界咒的所有詞:
| 詞 | 種類 | 細分含義 | 
|---|---|---|
| 元 | 關鍵字 | |
| ( | 左括號 | |
| ) | 右括號 | |
| + | 運算子 | 加 | 
| − | 運算子 | 減 | 
| * | 運算子 | 乘 | 
| / | 運算子 | 除 | 
| = | 等號 | |
| ・ | 音界號 | |
| \n | 換行 | |
| [0-9]+ | 數字 | |
| 除以上詞之外的所有字串 | 變數 | 
前幾項全是單字詞,要分出它們是再簡單不過,但最後兩種詞「數字」、「變數」就可能是多個字組成的了。
[0-9]+ 是正規表達式,其意思是,字串由一到多個0123456789組成。
而除了特殊詞之外的所有字串都能當作變數,這個定義是否會太過寬鬆?或是造成歧義?這些問題留待下一章實作時,再來討論。